package com.njtoyo.taxi.admin.rest.wrapper.business.driver.notifyMessage;

import com.njtoyo.taxi.admin.mapper.master.enums.driverNotifyMessage.MediaCategory;
import com.njtoyo.taxi.admin.mapper.master.enums.driverNotifyMessage.PriorityCategory;
import com.njtoyo.taxi.admin.mapper.master.enums.driverNotifyMessage.Scope;
import com.njtoyo.taxi.admin.mapper.master.enums.driverNotifyMessage.State;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Data
@ApiModel(value = "创建司机通知消息")
public class CreateWrapper {

    @ApiModelProperty("司机运营区ID")
    private Long driverRegionId;

    @ApiModelProperty("公司ID")
    private Long companyId;

    @NotNull(message = "发布范围")
    @ApiModelProperty("发布范围")
    private Scope scope;

    @NotBlank(message = "标题为必填项")
    @ApiModelProperty("标题")
    @Size(max = 64)
    private String title;

    @NotBlank(message = "语音内容为必填项")
    @ApiModelProperty("语音内容")
    @Size(max = 140)
    private String voiceContent;

    @ApiModelProperty(value = "头图", notes = "固定尺寸690x360px")
    private String headImage;

    @ApiModelProperty("详情摘要")
    @Size(max = 120)
    private String detailDigest;

    @ApiModelProperty("详情")
    private String detail;

    @NotNull(message = "媒体类型为必填项")
    @ApiModelProperty("媒体类型")
    private MediaCategory mediaCategory;

    @NotNull(message = "优先级为必填项")
    @ApiModelProperty("优先级类型")
    private PriorityCategory priorityCategory;

    @ApiModelProperty("定时发布时间")
    private Long regularReleaseTime;

    @NotNull(message = "发布状态为必填项")
    @ApiModelProperty("发布状态")
    private State state;
}
